eef2922a88d30906e03a5219100535dccf80dc9a,core/src/main/java/io/atomix/AtomixReplica.java,AtomixReplica,shutdown,#,518
Before Change
* @return A completable future to be completed once the server has been shutdown.
*/
public CompletableFuture<Void> shutdown() {
return clusterManager.stop(server.server().cluster(), this)
.thenCompose(v -> client.close())
.thenCompose(v -> server.shutdown());
}
/**
After Change
public CompletableFuture<Void> shutdown() {
CompletableFuture<Void> future = new CompletableFuture<>();
clusterManager.stop(server.server().cluster(), this)
.whenComplete((managerResult, managerError) -> {
client.close().whenComplete((clientResult, clientError) -> {
server.shutdown().whenComplete((serverResult, serverError) -> {
if (managerError != null) {
future.completeExceptionally(managerError);
} else if (clientError != null) {
future.completeExceptionally(clientError);
} else if (serverError != null) {
future.completeExceptionally(serverError);
} else {
future.complete(null);
}
});
});
});
return future;
}